/**
 * @author: Miss.杨
 * @date: 2025年3月09日 21:30:36
 * @description: 
 */
package com.sheepone.monitor.server.handler;

import com.sheepone.monitor.anno.ChannelHandlerOrder;

import io.netty.channel.ChannelHandler.Sharable;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;

/**
 * @author: Miss.杨
 * @date: 2025年3月09日 21:30:36
 * @description:
 */
@Sharable
@ChannelHandlerOrder(Integer.MAX_VALUE - 1)
public class ServerExceptionHandler extends ChannelInboundHandlerAdapter {
    @Override
    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
        // 1. 记录异常日志
        System.err.println("Exception occurred: " + cause.getMessage());
        cause.printStackTrace();

        // 2. 关闭异常连接
        ctx.close();

        // 3. 可选：发送错误响应给客户端
        // ctx.writeAndFlush(new ErrorResponse(...));
    }
}